# coding=utf-8
# 代码文件：chapter6/ch6.2.3.py

import matplotlib.pyplot as plt
import pandas as pd

plt.rcParams['font.family'] = ['SimHei']    # 设置中文字体
plt.rcParams['axes.unicode_minus'] = False  # 设置负号显示

plt.figure(figsize=(10, 5))                 # 设置图表大小

f = r'data\北京房价数据.xlsx'
df = pd.read_excel(f)

df = df.rename(                            # 重新命名列标签名
    columns={'标题': 'title',
             '户型': 'type',
             '面积（平米）': 'area',
             '朝向': 'face',
             '楼层': 'floor',
             '城区': 'addr_dist',
             '小区名': 'addr_name',
             '总价（万）': 'total_price',
             '单价（元）': 'price'})

df = df.query("addr_dist!= '北京周边'")
grouped_df = df.groupby(['addr_dist'])
df2 = grouped_df.max()

# 绘制柱状图
plt.bar(x=df2.index, height=df2['price'], color='r', label='最高价', alpha=0.78)

plt.title('北京各城区最高房价柱状图')
plt.ylabel('最高价')                             # 添加y轴标题
plt.xlabel('城区')                               # 添加x轴标题
plt.xticks(rotation=20)
plt.legend()                                    # 设置图例


plt.savefig('北京各城区最高房价柱状图', dpi=200)    # 保存图片
plt.show()                                      # 显示图形
